package com.nuoniu.sibanyun.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.nuoniu.sibanyun.entity.SysCompany;
import com.nuoniu.sibanyun.entity.cms.CmsInfo;
import com.nuoniu.sibanyun.entity.crm.CrmSecretKey;
import com.nuoniu.sibanyun.entity.dto.SysCompanyDto;

import java.util.Map;

/**
 * <p>
 * 公司表 服务类
 * </p>
 *
 * @author baiqiang
 * @since 2020-04-23
 */
public interface ISysCompanyService extends IService<SysCompany> {

    /**
     * 获取基本信息
     * @author 小啊刚
     * @date 2020-07-22
     */
    Map getCompanyInfo(Integer companyId);

    /**
     * 更换密钥
     * @author 小啊刚
     * @date 2020-07-22
     */
    void updateSecretKey(CrmSecretKey secretKey);

    /**
     * 获取单位信息
     * @author 小啊刚
     * @date 2020-07-22
     */
    SysCompany getByName(String companyNme);

    /**
     * 获取公司列表
     * @author 小啊刚
     * @date 2020-07-24
     */
    Page<SysCompany> pageList(Page page, SysCompany company);

    /**
     * 修改租户免费用户数
     * @author 小啊刚
     * @date 2020-07-30
     */
    void updateFreeUsers(Integer freeUsers);

    /**
     * 获取入职公司信息
     * @author 小啊刚
     * @date 2020-08-03
     */
    Map<String, String> getEntryCompany(String cId, String code);

    /**
     * 获取公司建账信息
     * @author 小啊刚
     * @date 2020-09-22
     */
    SysCompanyDto getSysCompany(Integer companyId);

    /**
     * 根据code获取公司
     * @author 小啊刚
     * @date 2021-08-24
     */
    SysCompany getByCode(String companyCode);
}
